#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui
{
    class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT // 需要使用信号和槽的类必须包含Q_OBJECT宏,否则报错,因为一般自动生成,之后容易遗忘忽视此细节

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
signals:
    void mySignal(); // 自定义无参信号
    void mySignal_2(const QString&); // 自定义带参信号
    void mySignal_3(const QString&, const QString&); // 带多个参数的自定义信号
public:
    void handleMySignal();
    // 信号槽需要与信号参数类型一致,个数可以不一致,但是要求信号要比槽参数更多
    void handleMySignal_2(const QString&);
    void handleMySignal_3(const QString&/*, const QString&*/);
private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
